<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>

  <script>
    /*
      字符串常用方法
        + 都是操作字符串的方法
        + 通用语法: 字符串.xxx()
        + 注意: 所有字符串方法都不会改变原始字符串, 而是以返回值给出结果

      1. charAt()
        + 语法: 字符串.charAt(索引)
        + 返回值: 该索引位置的字符
        + 注意: 当没有该索引位置的时候, 返回值是一个 空字符串('')

      2. charCodeAt()
        + 语法: 字符串.charCodeAt(索引)
        + 返回值: 该索引位置的字符的编码(unicode)
        + 注意: 返回值是一个 Number 类型, 如果没有该索引位置, 返回 NaN

      3. toUpperCase()
        + 语法: 字符串.toUpperCase()
        + 返回值: 转换成大写后的字符串

      4. toLowerCase()
        + 语法: 字符串.toLowerCase()
        + 返回值: 转换成小写后的字符串

      5. substr()
        + 语法: 字符串.substr(开始索引, 多少个)
        + 返回值: 截取出来的字符串

      6. substring()
        + 语法: 字符串.substring(开始索引, 结束索引)
          => 特点: 包前不包后
        + 返回值: 截取出来的字符串

      7. slice()
        + 语法: 字符串.slice(开始索引, 结束索引)
          => 特点1: 包前不包后
          => 特点2: 可以写负整数
        + 返回值: 截取出来的字符串

      8. replace()
        + 语法: 字符串.replace(换下字符, 换上字符)
          => 换上和换下字符可以是一个字符, 也可以是一个字符片段
        + 返回值: 替换好的字符串
        + 注意: 只能替换找到的第一个

      9. split()
        + 语法:
          => 字符串.split(分隔符号)
          => 字符串.split(分隔符号, 保留多少个)
        + 作用: 使用分隔符号把字符串拆分
        + 返回值: 是一个数组数据类型
          => 数组内存储的就是拆分出来的每一项
        + 注意:
          => 参数传递的是字符串内没有的内容, 那么完整字符串作为一项
          => 参数传递的是空字符串, 那么一位一位拆分

      10. concat()
        + 语法: 字符串.concat(字符串2, 字符串3, ...)
        + 返回值: 拼接好的字符串

      11. indexOf()
        + 语法:
          => 字符串.indexOf(字符)
          => 字符串.indexOf(字符, 开始索引)
        + 返回值: 该字符字原始字符串内的索引位置, 如果你检索的是字符串片段, 那么是开头字符的索引位置

      12. lastIndexOf()
        + 语法:
          => 字符串.lastIndexOf(字符)
          => 字符串.lastIndexOf(字符, 开始索引)
        + 返回值: 从后向前检索, 该字符字原始字符串内的索引位置, 如果你检索的是字符串片段, 那么是开头字符的索引位置

      13. trim()
        + 语法: 字符串.trim()
        + 返回值: 去除原始字符串收尾空白

      14. trimStart() / trimLeft()
        + 语法:
          => 字符串.trimStart()
          => 字符串.trimLeft()
        + 返回值: 去除开始位置空白

      15. trimEnd() / trimRight()
        + 语法:
          => 字符串.trimEnd()
          => 字符串.trimRight()
        + 返回值: 去除结束位置空白

      16. search()
        + 语法: 字符串.search(字符串)
        + 返回值: 该字符在字符串中的索引位置, 没有就是 -1
    */

    // 1. chartAt()
    // var str = 'hello world'
    // console.log('原始字符串 : ', str)
    // var res = str.charAt(100)
    // console.log('原始字符串 : ', str)
    // console.log('返回值 : ', res)
    // console.log('利用索引语法 : ', str[100])

    // 2. charCodeAt()
    // var str = 'hello world'
    // console.log('原始字符串 : ', str)
    // var res = str.charCodeAt(100)
    // console.log('原始字符串 : ', str)
    // console.log('返回值 : ', res)

    // 3. toUpperCase()
    // var str = 'hello world'
    // var res = str.toUpperCase()
    // console.log(res)

    // 4. toLowerCase()
    // var str = 'HELLO WORLD'
    // var res = str.toLowerCase()
    // console.log(res)

    // 5. substr()
    // var str = 'hello world'
    // 从 [2] 开始, 截取 7 个内容
    // var res1 = str.substr(2, 7)
    // console.log(res1)

    // 6. substring()
    // 从 [2] 开始, 截取到 [7], 包含 [2] 不包含 [7]
    // var res2 = str.substring(2, 7)
    // console.log(res2)

    // 7. slice()
    // 从 [2] 开始, 截取到 [7], 包含 [2] 不包含 [7]
    // var res3 = str.slice(2, 7)
    // console.log(res3)

    // 8. replace()
    // var str = 'hello world'
    // var res = str.replace('llo', '********')
    // console.log(res)

    // 9. split()
    // var str = '2022-2-28'
    // // var res = str.split('-') // 你写的什么内容, 就用什么内容分隔
    // // var res = str.split('z') // 把整个字符串分成一个内容
    // var res = str.split('') // 书写的是空字符串, 会按照字符一位一位拆开
    // // 把拆分完毕的数组保留多少位数据
    // var res = str.split('', 9) // 书写的是空字符串, 会按照字符一位一位拆开
    // console.log(res)

    // 10. concat()
    // var str = 'hello'
    // var res = str.concat(' world', ' 你好 世界')
    // console.log(res)

    // 11. indexOf()
    // var str = 'hello world'
    // var res = str.indexOf('ld')
    // console.log(res)

    // 12. lastIndexOf()
    // var str = 'hello world'
    // var res = str.lastIndexOf('llo')
    // console.log(res)

    // 13. trim()
    // var str = '            hello world                          '
    // var res = str.trim()
    // console.log(res)

    // 14. trimStart() / trimLeft()
    // var res1 = str.trimStart()
    // var res2 = str.trimLeft()
    // console.log(res1)
    // console.log(res2)

    // 15. trimEnd() / trimRight()
    // var res3 = str.trimEnd()
    // var res4 = str.trimRight()
    // console.log(res3)
    // console.log(res4)

    // 16. search()
    // var str = 'hello world'
    // var res = str.search('z')
    // console.log(res)

  </script>
</body>
</html>
